package net.hn.hnms.biz.plan.domain;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.Digits;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@NoArgsConstructor
@TableName("plan_tunnel_repair")
@ExcelIgnoreUnannotated
@ApiModel(value = "巷道计划实体类")
public class PlanTunnelRepair  extends PlanBaseModel  implements Serializable {

    @ApiModelProperty(value = "修复计划的唯一标识符")
    @NotBlank(message = "修复计划ID不能为空")
    @TableId(type = IdType.ASSIGN_UUID)
    private String repairPlanId;

//    @ApiModelProperty(value = "矿山代码")
//    @NotBlank(message = "矿山代码不能为空")
//    @TableField(updateStrategy = FieldStrategy.IGNORED)
//    private String mineCode;

    @ApiModelProperty(value = "修复计划代码")
    @NotBlank(message = "修复计划代码不能为空")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String repairPlanCode;

    @ApiModelProperty(value = "修复计划名称")
    @NotBlank(message = "修复计划名称不能为空")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String repairPlanName;

    @ApiModelProperty(value = "修复计划类型")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String repairPlanType;

    @ApiModelProperty(value = "计划开始时间")
    @NotNull(message = "请选择计划开始时间")
    @JsonFormat(
            pattern = "yyyy-MM-dd",
            timezone = "GMT+8"
    )
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private Date planStartDate;

    @ApiModelProperty(value = "计划结束时间")
    @NotNull(message = "请选择计划结束时间")
    @JsonFormat(
            pattern = "yyyy-MM-dd",
            timezone = "GMT+8"
    )
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private Date planEndDate;

//    @ApiModelProperty(value = "修复计划进度")
//    @TableField(updateStrategy = FieldStrategy.IGNORED)
//    private BigDecimal repairPlanProgress;

    @ApiModelProperty(value = "责任人")
    @NotBlank(message = "责任人不能为空")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String responsibleUser;

    @ApiModelProperty(value = "计划描述")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String describe;
//
//    @ApiModelProperty(value = "修复计划创建时间")
//    @TableField(updateStrategy = FieldStrategy.IGNORED)
//    private Date createTime;
//
//    @ApiModelProperty(value = "更新修复计划的用户ID")
//    @TableField(updateStrategy = FieldStrategy.IGNORED)
//    private String updateUserId;
//
//    @ApiModelProperty(value = "修复计划更新时间")
//    @TableField(updateStrategy = FieldStrategy.IGNORED)
//    private Date updateTime;
//
//    @ApiModelProperty(value = "删除标志")
//    @TableField(updateStrategy = FieldStrategy.IGNORED)
//    private String delFlag;


//    @ApiModelProperty(value = "公司代码")
//    @TableField(updateStrategy = FieldStrategy.IGNORED)
//    private String companyCode;

        @ApiModelProperty(value = "工作计划进度")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal progress;

    @ApiModelProperty(value = "备注")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String remarks;



}
